map_list = {
	{ name = MsgStrID.MSI_MAP_LIST_ALLSELECT, list = {
			{ name = MsgStrID.MSI_MAP_LIST_ALLSELECT }
		}, ignore_recruit_window = true },
	{
		name = MsgStrID.MSI_MAP_LIST_NAME_PRONTERA,
		list = {
			{ name = MsgStrID.MSI_MAP_LIST_NAME_FILD },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_PRT_SEWB1 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_PRT_SEWB2 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_PRT_SEWB3 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_PRT_SEWB4, colorR = 255, colorG = 0, colorB = 0 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_PRT_MAZE01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_PRT_MAZE02 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_PRT_MAZE03, colorR = 255, colorG = 0, colorB = 0 }
		}
	},
	{
		name = MsgStrID.MSI_MAP_LIST_NAME_GEFEN,
		list = {
			{ name = MsgStrID.MSI_MAP_LIST_NAME_FILD },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_GEF_FILD05 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_GEF_DUN00 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_GEF_DUN01, colorR = 255, colorG = 0, colorB = 0 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_GEF_DUN02, colorR = 255, colorG = 0, colorB = 0 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_GEFENIA },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_GEF_FILD10, colorR = 255, colorG = 0, colorB = 0 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_ORCSDUN01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_ORCSDUN02 }
		}
	},
	{
		name = MsgStrID.MSI_MAP_LIST_NAME_PAYON,
		list = {
			{ name = MsgStrID.MSI_MAP_LIST_NAME_PAY_FILD01, colorR = 255, colorG = 0, colorB = 0 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_PAY_DUN00 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_PAY_DUN01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_PAY_DUN02 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_PAY_DUN03 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_PAY_DUN04, colorR = 255, colorG = 0, colorB = 0 }
		}
	},
	{
		name = MsgStrID.MSI_MAP_LIST_NAME_ALDEVARAN,
		list = {
			{ name = MsgStrID.MSI_MAP_LIST_NAME_MJOLNIR01, colorR = 255, colorG = 0, colorB = 0 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_MJOLNIR12 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_MJOLNIR06 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_MJOLNIR09 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_MJO_DUN01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_MJO_DUN02 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_MJO_DUN03 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_C_TOWER1 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_C_TOWER2 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_C_TOWER3 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_C_TOWER4 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_ALDE_DUN01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_ALDE_DUN02 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_ALDE_DUN03 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_ALDE_DUN04 }
		}
	},
	{
		name = MsgStrID.MSI_MAP_LIST_NAME_ALVELTA,
		list = {
			{ name = MsgStrID.MSI_MAP_LIST_NAME_TREASURE01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_TREASURE02, colorR = 255, colorG = 0, colorB = 0 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_TUR_DUN01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_TUR_DUN02 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_TUR_DUN03 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_TUR_DUN04, colorR = 255, colorG = 0, colorB = 0 }
		}
	},
	{
		name = MsgStrID.MSI_MAP_LIST_NAME_MOROC,
		list = {
			{ name = MsgStrID.MSI_MAP_LIST_NAME_MOC_FILD01, colorR = 255, colorG = 0, colorB = 0 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_MOC_FILD20, colorR = 255, colorG = 0, colorB = 0 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_ANTHEL01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_ANTHEL02, colorR = 255, colorG = 0, colorB = 0 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_IN_SPHINX1 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_IN_SPHINX2 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_IN_SPHINX3 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_IN_SPHINX4 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_IN_SPHINX5, colorR = 255, colorG = 0, colorB = 0 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_MOC_PRYD01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_MOC_PRYD02 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_MOC_PRYD03 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_MOC_PRYD04, colorR = 255, colorG = 0, colorB = 0 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_MOC_PRYD05 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_MOC_PRYD06, colorR = 255, colorG = 0, colorB = 0 }
		}
	},
	{
		name = MsgStrID.MSI_MAP_LIST_NAME_IZRUD,
		list = {
			{ name = MsgStrID.MSI_MAP_LIST_NAME_IZ_DUN00 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_IZ_DUN01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_IZ_DUN02 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_IZ_DUN03 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_IZ_DUN04 }
		}
	},
	{
		name = MsgStrID.MSI_MAP_LIST_NAME_COMODO,
		list = {
			{ name = MsgStrID.MSI_MAP_LIST_NAME_CMD_FILD01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_CMD_FILD02 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_CMD_FILD03 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_CMD_FILD07 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_CMD_FILD08 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_CMD_FILD09 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_CMD_FILD06 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_BEACH_DUN, colorR = 255, colorG = 0, colorB = 0 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_BEACH_DUN2 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_BEACH_DUN3 }
		}
	},
	{
		name = MsgStrID.MSI_MAP_LIST_NAME_RUTIE,
		list = {
			{ name = MsgStrID.MSI_MAP_LIST_NAME_FILD, colorR = 255, colorG = 0, colorB = 0 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_XMAS_DUN01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_XMAS_DUN02, colorR = 255, colorG = 0, colorB = 0 }
		}
	},
	{
		name = MsgStrID.MSI_MAP_LIST_NAME_YUNO,
		list = {
			{ name = MsgStrID.MSI_MAP_LIST_NAME_YUNO_FILD01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_YUNO_FILD02 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_YUNO_FILD03 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_YUNO_FILD07 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_YUNO_FILD08 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_YUNO_FILD09 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_FILD },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_MAG_DUN01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_MAG_DUN02 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_JUPEROS01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_JUPEROS02 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_JUPE_CORE, colorR = 255, colorG = 0, colorB = 0 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_KH_DUN01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_KH_DUN02, colorR = 255, colorG = 0, colorB = 0 }
		}
	},
	{
		name = MsgStrID.MSI_MAP_LIST_NAME_UMBALLA,
		list = {
			{ name = MsgStrID.MSI_MAP_LIST_NAME_UM_FILD01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_UM_FILD02 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_UM_FILD03 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_UM_FILD04 }
		}
	},
	{
		name = MsgStrID.MSI_MAP_LIST_NAME_EINBEH,
		list = {
			{ name = MsgStrID.MSI_MAP_LIST_NAME_EIN_DUN01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_EIN_DUN02, colorR = 255, colorG = 0, colorB = 0 }
		}
	},
	{
		name = MsgStrID.MSI_MAP_LIST_NAME_LHZ,
		list = {
			{ name = MsgStrID.MSI_MAP_LIST_NAME_FILD },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_LHZ_FILD02 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_LHZ_DUN01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_LHZ_DUN02, colorR = 255, colorG = 0, colorB = 0 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_LHZ_DUN03, colorR = 255, colorG = 0, colorB = 0 }
		}
	},
	{
		name = MsgStrID.MSI_MAP_LIST_NAME_THANATOS,
		list = {
			{ name = MsgStrID.MSI_MAP_LIST_NAME_THA_T01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_THA_T02 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_THA_T03 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_THA_T05 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_THA_T07 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_THA_T09 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_THA_T10 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_THA_T11 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_THA_T12 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_THA_BOSS, colorR = 255, colorG = 0, colorB = 0 }
		}
	},
	{
		name = MsgStrID.MSI_MAP_LIST_NAME_GLASST,
		list = {
			{ name = MsgStrID.MSI_MAP_LIST_NAME_GL_CASE01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_GL_CASE02 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_GL_CHURCH },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_GL_CHYARD, colorR = 255, colorG = 0, colorB = 0 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_GL_DUN01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_GL_DUN02 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_GL_IN01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_GL_KNT01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_GL_KNT02 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_GL_PRISON },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_GL_PRISON1 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_GL_SEW01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_GL_SEW02 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_GL_SEW03 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_GL_SEW04 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_GL_STEP }
		}
	},
	{
		name = MsgStrID.MSI_MAP_LIST_NAME_HUEGEL,
		list = {
			{ name = MsgStrID.MSI_MAP_LIST_NAME_FILD },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_ODIN_TEM01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_ODIN_TEM02 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_ODIN_TEM03, colorR = 255, colorG = 0, colorB = 0 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_HU_FILD05 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_ABYSS_01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_ABYSS_02 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_ABYSS_03, colorR = 255, colorG = 0, colorB = 0 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_HU_FILD01 }
		}
	},
	{
		name = MsgStrID.MSI_MAP_LIST_NAME_RAHEL,
		list = {
			{ name = MsgStrID.MSI_MAP_LIST_NAME_RA_FILD01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_RA_FILD03, colorR = 255, colorG = 0, colorB = 0 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_RA_FILD06, colorR = 255, colorG = 0, colorB = 0 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_RA_SAN01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_RA_SAN02 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_RA_SAN03 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_RA_SAN04 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_RA_SAN05, colorR = 255, colorG = 0, colorB = 0 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_ICE_DUN01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_ICE_DUN02 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_ICE_DUN03 }
		}
	},
	{
		name = MsgStrID.MSI_MAP_LIST_NAME_VEINS,
		list = {
			{ name = MsgStrID.MSI_MAP_LIST_NAME_FILD, colorR = 255, colorG = 0, colorB = 0 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_NAMELESS_N },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_ABBEY01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_ABBEY02, colorR = 255, colorG = 0, colorB = 0 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_ABBEY03, colorR = 255, colorG = 0, colorB = 0 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_THOR_V01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_THOR_V02 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_THOR_V03, colorR = 255, colorG = 0, colorB = 0 }
		}
	},
	{
		name = MsgStrID.MSI_MAP_LIST_NAME_NIFLHEIM,
		list = {
			{ name = MsgStrID.MSI_MAP_LIST_NAME_NIF_FILD01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_NIF_FILD02 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_NIFLHEIM, colorR = 255, colorG = 0, colorB = 0 }
		}
	},
	{
		name = MsgStrID.MSI_MAP_LIST_NAME_UNDERWORLS,
		list = {
			{ name = MsgStrID.MSI_MAP_LIST_NAME_MAN_FILD01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_SPL_FILD01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_DIC_FILD01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_DIC_DUN01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_DIC_DUN02, colorR = 255, colorG = 0, colorB = 0 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_NYD_DUN01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_NYD_DUN02 }
		}
	},
	{
		name = MsgStrID.MSI_MAP_LIST_NAME_AMACH,
		list = {
			{ name = MsgStrID.MSI_MAP_LIST_NAME_FILD },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_AMA_DUN01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_AMA_DUN02 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_AMA_DUN03, colorR = 255, colorG = 0, colorB = 0 }
		}
	},
	{
		name = MsgStrID.MSI_MAP_LIST_NAME_GONRUN,
		list = {
			{ name = MsgStrID.MSI_MAP_LIST_NAME_FILD },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_GON_DUN01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_GON_DUN02 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_GON_DUN03, colorR = 255, colorG = 0, colorB = 0 }
		}
	},
	{
		name = MsgStrID.MSI_MAP_LIST_NAME_LOU,
		list = {
			{ name = MsgStrID.MSI_MAP_LIST_NAME_FILD },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_LOU_DUN01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_LOU_DUN02 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_LOU_DUN03, colorR = 255, colorG = 0, colorB = 0 }
		}
	},
	{
		name = MsgStrID.MSI_MAP_LIST_NAME_AYOTAYA,
		list = {
			{ name = MsgStrID.MSI_MAP_LIST_NAME_FILD },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_AYO_DUN01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_AYO_DUN02, colorR = 255, colorG = 0, colorB = 0 }
		}
	},
	{
		name = MsgStrID.MSI_MAP_LIST_NAME_BRASIL,
		list = {
			{ name = MsgStrID.MSI_MAP_LIST_NAME_FILD },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_BRA_DUN01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_BRA_DUN02, colorR = 255, colorG = 0, colorB = 0 }
		}
	},
	{
		name = MsgStrID.MSI_MAP_LIST_NAME_MOSK,
		list = {
			{ name = MsgStrID.MSI_MAP_LIST_NAME_FILD },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_MOSK_DUN01 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_MOSK_DUN02 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_MOSK_DUN03, colorR = 255, colorG = 0, colorB = 0 }
		}
	},
	{
		name = MsgStrID.MSI_MAP_LIST_NAME_MEMOREAL,
		list = {
			{ name = MsgStrID.MSI_MAP_LIST_NAME_MEMO_TOWER, colorR = 255, colorG = 0, colorB = 0 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_MEMO_DUN01, colorR = 255, colorG = 0, colorB = 0 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_MEMO_DUN02, colorR = 255, colorG = 0, colorB = 0 },
			{ name = MsgStrID.MSI_MAP_LIST_NAME_MEMO_DUN03, colorR = 255, colorG = 0, colorB = 0 }
		}
	}
}

function printMapList()
	local regionId = 0
	local mapId = 0
	local state = ""
	print("------------------")
	for key, region in pairs(map_list) do
		regionId = regionId + 1
		mapId = 0
		if region.ignore_recruit_window == true then
			state = "��Ƽ ���� (��û) â������ ������ �ʴ� �޴���."
		else
			state = ""
		end
		print(regionId, region.name, state)
		for key, map in pairs(region.list) do
			mapId = mapId + 1
			if map.color == nil then
				color = "Primary Color"
			else
				color = "R:" .. map.color.R .. " G:" .. map.color.G .. " B:" .. map.color.B
			end
			print("\t" .. mapId .. ":" .. map.name, map.map_file, color)
		end
	end
	print("------------------")
end
__mapList = {}

function makeMapList()
	for regionId, region in ipairs(map_list) do
		__mapList[regionId] = region
		region.id = regionId
		for mapId, map in ipairs(region.list) do
			__mapList[regionId][mapId] = map
			map.id = mapId
			map.ignore_recruit_window = region.ignore_recruit_window
		end
	end
end

function queryRegionInfo(regionId)
	if __mapList[regionId] == nil then
		return nil, nil, nil, nil
	end
	return regionId, __mapList[regionId].name, getMapIterator(regionId), __mapList[regionId].ignore_recruit_window
end

function queryMapInfo(regionId, mapId)
	if __mapList[regionId] == nil then
		return nil, nil, nil, nil, nil, nil
	end
	if __mapList[regionId][mapId] == nil then
		return nil, nil, nil, nil, nil, nil
	end
	return regionId, mapId, __mapList[regionId][mapId].name, __mapList[regionId][mapId].colorR, __mapList[regionId][mapId].colorG, __mapList[regionId][mapId].colorB
end

function getRegionIterator()
	local pos = 1
	return {
		hasNext = function()
			return __mapList[pos]
		end,
		value = function()
			temp_pos = pos
			pos = pos + 1
			return __mapList[temp_pos]
		end
	}
end

function getMapIterator(regionId)
	local pos = 1
	return {
		hasNext = function()
			if __mapList[regionId] == nil then
				return nil
			end
			return __mapList[regionId][pos]
		end,
		value = function()
			temp_pos = pos
			pos = pos + 1
			return __mapList[regionId][temp_pos]
		end
	}
end

makeMapList()

print("[All Output Data Structure]")
regionIterator = getRegionIterator()
while regionIterator.hasNext() do
	region = regionIterator.value()
	print(region.id, region.name)
	mapIterator = getMapIterator(region.id)
	while mapIterator.hasNext() do
		map = mapIterator.value()
		print("\t", queryMapInfo(region.id, map.id))
	end
end

print("\n[Local Data Search]")
regionIterator = getRegionIterator()
while regionIterator.hasNext() do
	region = regionIterator.value()
	print(region.id, region.name)
end

print("\n[Map Data Search]")
mapIterator = getMapIterator(2)
while mapIterator.hasNext() do
	map = mapIterator.value()
	print(map.id, map.name)
end

print("\n[Regional Data Information Request]")
print(queryRegionInfo(2))
_, _, mapIterator, _ = queryRegionInfo(2)
while mapIterator.hasNext() do
	map = mapIterator.value()
	print(map.id, map.name)
end

print("\n[Map Data Information Request]")
print(queryMapInfo(2, 1))
PartyBookingHelp = {
	MsgStrID.MSI_PARTY_BOOKING_REQURT,
	MsgStrID.MSI_PARTY_BOOKING_LIST,
	MsgStrID.MSI_PARTY_BOOKING_MAKE,
	MsgStrID.MSI_PARTY_BOOKING_INVITE
}

function GetPartyBookingHelp()
	local descript = ""
	local obj = PartyBookingHelp
	if obj ~= nil then
		for i, v in pairs(obj) do
			descript = descript .. v
			descript = descript .. "\r\n"
		end
	end
	return descript
end